Function.prototype.apply2 = function (context = window, arr) {
  context["fn"] = this;
  let result;
  if (!arr) {
    result = context.fn();
  } else {
    result = context.fn(arr);
  }
  delete context.fn;

  return result;
};
